package com.chenchao.javafile;

import java.io.File;

/**
 * @encoding : UTF-8
 * @Time : 2020/11/14 20:50
 * @Author : Chen Chao
 * @File : javaSE.com.chenchao.javaFile.Test2.java
 * @Software : IntelliJ IDEA
 * @since : 1.8
 * 递归遍历文件夹
 */
public class Test2 {
    public static void main(String[] args) {
        //System.out.println(sum(3));
        testGetFile();
    }

    public static void testGetFile() {
        File dir = new File("C:\\mycode\\newjava\\javaSE");
        getFile(dir, 0);
    }

    /**
     * 层级打印dir下的目录
     *
     * @param dir   要打印的目录名
     * @param level 层级数
     */
    public static void getFile(File dir, int level) {
        File[] files = dir.listFiles();
        StringBuilder str;
        str = new StringBuilder((level == 0) ? "" : "|-");
        for (int j = 0; j < level; j++) {
            str.insert(0, " ");
        }
        if (files == null) {
            return;
            //防止空文件夹做妖
        }
        for (File file : files) {
            if (file.isDirectory()) {
                level++;
                System.out.println(str + "目录:" + file.getName());
                getFile(file, level);
                level--;
            } else if (file.isFile()) {
                System.out.println(str + file.getName());
            }
        }
    }

    public static int sum(int num) {
        if (num > 1) {
            return num + sum(num - 1);
        } else {
            return 1;
        }
    }
}
